home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 March / EnigmA AMIGA RUN 25 (1997)(G.R. Edizioni)(IT)[!][issue 1998-03].iso / recent2 / case.readme < prev    next >
Text File  |  1998-02-19  |  8KB  |  196 lines

  1. Short:    Powerful prg to rename/manipul filenames
  2. Author:   parsec@aljan.com.au (Erik Spåre)
  3. Uploader: parsec@aljan.com.au (Erik Spåre)
  4. Version:  2.2
  5. Type:     util/cli
  6. Requires: OS 2.04 or above
  7.  
  8. *****************************************************************************
  9. ** Case 2.2 - Filename Changer - by Erik Spåre (Parsec/Phuture 303) 980127 **
  10. **        Filematching routines by Anders Vedmar (Axehandle/PC303)         **
  11. *****************************************************************************
  12.  
  13. Very powerful program that lets you rename multiple files. Features:
  14.  
  15.     * Recursive pattern matching (no pattern targets all files in current dir)
  16.     * More than 60 recognized extentions.
  17.     * ENV:Caseopts file, where you can, for instance, add more extentions.
  18.     * 5 Different lower/uppercase modes in many variants.
  19.     * 8 extention operations (like add/remove/swap suffix/prefix/extention)
  20.     * 11 string manipulation operations (like remove string, add head/tail)
  21.     * Can handle *all* letters, not only a-z.
  22.     * Direct or indirect renaming mode, won't crash on the ram-disk.
  23.     * 100 percent 68000 assembler (I hope, have only tried it on my 060)
  24.     * Freeware
  25.     * And more...
  26.  
  27.  
  28. An example...               Case -l -t -k -apmod        Case -sp -w -ue
  29.  
  30.     MOD.OCEAN_LOADER_FIXED  ==> mod.ocean_loader_fixed  ==> Ocean_Loader_Fixed.MOD
  31.     Mod.Green beret         ==> mod.green_beret         ==> Green_Beret.MOD
  32.     mod.CRYSTAL HAMMER      ==> mod.crystal_hammer      ==> Crystal_Hammer.MOD
  33.     DOC1                    ==> mod.doc1                ==> Doc1.MOD
  34.     Hunters_moon            ==> mod.hunters_moon        ==> Hunters_Moon.MOD
  35.     MOD.SleepWalk           ==> mod.sleepwalk           ==> Sleepwalk.MOD
  36.     MOD.(((nebulos)))       ==> mod.nebulos             ==> Nebulos.MOD
  37.     mod.CREAM OF THE EARTH  ==> mod.cream_of_the_earth  ==> Cream_Of_The_Earth.MOD
  38.     MOD.telephone!!!        ==> mod.telephone           ==> Telephone.MOD
  39.  
  40.  
  41. Here's a list of all the options...
  42.  
  43.     The caseing options
  44.  
  45.        -l        All Lowercase
  46.        -u        All Uppercase
  47.        -w        Each new Word uppercase
  48.        -f        First letter uppercase
  49.        -c        Change cases
  50.        -i        Ignore suffix and/or prefix when caseing
  51.        -I        Don't Ignore suffix and/or prefix when caseing
  52.  
  53.     The extention operations
  54.  
  55.        -a        Add specified prefix/suffix/extention
  56.        -r        Remove [specified] prefix/suffix/extention
  57.        -C        Change [given] pref/suff/ext to specified
  58.        -s        Swap prefix and/or suffix
  59.        -E        Ignore default extensions [only accept specified]
  60.        -e        Only accept default extentions [and specified]
  61.        -L        Set new prefix and/or suffix maxlength
  62.        -g        Give priority to prefix or suffix
  63.  
  64.     The string manipulation operations
  65.  
  66.        -t        Transform spaces to underlines
  67.        -T        Transform underlines to spaces
  68.        -d        Delete all the spaces [or only specified]
  69.        -D        Delete specified strings
  70.        -C        Change string 1 to string 2
  71.        -k        Keep letters, digits, some more [and specified]
  72.        -K        Keep A-Z, digits, some more [and specified]
  73.        -m        Mutilate chars with ASCI values exceeding 128 to 45-127
  74.        -a        Add head/tail string to filename
  75.        -r        Remove head/tail string from filename
  76.        -v        Vomit files to PC-format
  77.  
  78.     The remaining options
  79.  
  80.        -D        Disable env:caseopts file
  81.        -q        Be Quiet (only list errors)
  82.        -n        Neglect the directories
  83.        -b        Use a buffer when renaming (indirect)
  84.        -B        Don't use a buffer when renaming (direct)
  85.        -S        Simulate caseing, don't actually rename anything
  86.        ALL       To recurse into subdirs.
  87.  
  88.  
  89. Changes since version 2.0...
  90.  
  91.     ** Renamed almost all options, in a vain attempt to be more
  92.     consequent, and make the names easier to remember.
  93.  
  94.     ** Prefix options that default to operating on extentions, but
  95.     that can be made to operate on only prefixes/suffixes, now accept
  96.     e (for both) as well as the usual p (prefixes only) and s
  97.     (suffixes only)
  98.  
  99.     ** All specified extentions are now added to the list of
  100.     recognized extentions. So if you want to remove the suffix .bla,
  101.     you only need to write -rsbla, and don't worry about whether bla
  102.     is a recognized suffix or not.
  103.  
  104.     ** Any given extention will adjust the extention maxlenght, if
  105.     (and only if) it is exceeded.
  106.  
  107.     ** If a filepattern contains spaces, it now must have single or
  108.     double quotes surrounding it.
  109.  
  110.     ** The delete chars functions are no longer case-sensitive. If you
  111.     want to remove all ö:s, -dö will remove ö:s as well as Ö:s.
  112.  
  113.     ** It is now possible to specify characters to delete on several
  114.     places, without having the previous chars forgotten.
  115.  
  116.     ** If an extention operation is selected, but no extention was
  117.     modified, or even found, Case will now display a little reminder
  118.     that maybe this was because you wanted to process files with
  119.     alien extentions, and maybe you should try the -e option etc. This
  120.     is so you won't think Case is flawed, like even I myself has
  121.     thought several times! So easy to forget...
  122.  
  123.     ** Made an indirect mode to read all the filenames into a
  124.     buffer, and then rename from that. Added the options -b and -B
  125.     to select between direct and indirect mode.
  126.  
  127.     ** Added -ae, add specified extention.
  128.  
  129.     ** Added -r(h|t)<$>, remove head or tail string
  130.  
  131.     ** Added -C"<$>",<$> -- change string one to string two.
  132.  
  133.     ** Added -C<%>[<$>,]<$>, change extentions [from this] to that.
  134.  
  135.     ** Added -S, simulate caseing.
  136.  
  137.     ** Added a new caseing operation, -c, change all cases.
  138.  
  139.     ** Added -m, mutilate ASCII 128-255 into 45-127
  140.  
  141.     ** The -v (vomit) option now turns on -m, and it will no longer
  142.     remove the prefixes by default. You'll have to write -vp if you
  143.     want those removed as well.
  144.  
  145.     ** The caseing operations (-l, -u, -c, -w, -f) will now operate
  146.     on extentions only, if they are followed by p, s or e.
  147.  
  148.     ** A few minor bugs corrected
  149.  
  150.     ** More extentions are recognized...
  151.        qt, gz, pi
  152.        c++, cpp, arj, obj, env, mov, avi, jpg, tex, p61
  153.        tar, htm, man, mpg, mp3, bz2, tgz, lzh
  154.        jpeg, gzip, html
  155.        amiga, prefs
  156.        symmod
  157.  
  158.  
  159. Changes since version 2.1...
  160.  
  161.     ** Above mentioned new extentions were actually only added to the doc.
  162.        I forgot to add them in the source. Apart from all those new
  163.        extentions, there's three more: xm, s3m and rexx.
  164.  
  165.     ** Corrected flaw in the argument parsing. Case wouldn't report a
  166.        syntax error when several source-names were entered. (This is not
  167.        yet allowed)
  168.  
  169.     ** When in recursive mode, if a directory-name got renamed by Case,
  170.        (so the characters actually changed, not only the cases) any
  171.        files in that directory would not be found. Solved this by
  172.        letting the pattern matching routine pass Case the directory names
  173.        when they were leaved, instead of when they were entered.
  174.  
  175.     ** Whenever a file in the search path could not be locked for some
  176.        reason, case would abort the whole operation with "can't find file
  177.        or path!" If in the default buffered mode, no files would ever be
  178.        renamed. Now, whenever the filematching routine cannot lock a file,
  179.        Case will look at the name to determine if the user wanted that
  180.        file to be renamed. (If, for instance, the user wanted to uppercase
  181.        all filenames, and this file already was uppercased, there would be
  182.        nothing to worry about.) If he didn't the file will simply be skipped.
  183.        If he did, the fail counter will be incremented and the message "can't
  184.        lock xxx because object is in use" will be displayed.
  185.  
  186.     ** The -C" option (change string 1 to string 2) was flawed.
  187.        case21 -C"bl",bl bla   would result in  renaming bla to bla. Also:
  188.        case21 -C"bl",bla bla  would not rename bla to blaa, since Case thought
  189.        this had already been done.
  190.  
  191.  
  192. Remember:
  193.  
  194.     "This should be in every man's c-directory"
  195.      /Axehandle.
  196.